window.onload = function () {

    // 需求1.获取用户信息渲染头像 和欢迎信息
    //  因为后面还要用到这个方法,所以封装成函数
    getUserInfo()

    // 需求2.
    document.querySelector('#logout').onclick = function () {
        layer.confirm('是否确认退出登录?', { icon: 3, title: '提示' }, function (index) {
            //销毁token,跳转到登录页
            localStorage.removeItem('token')
            location.href = '/login.html'
            //自带的代码,关闭询问框
            layer.close(index);
        });
    }
}

//1.获取用户信息渲染头像
function getUserInfo() {
    //发送ajax请求 获取用户的基本信息
    axios({
        url: '/my/userinfo',
        method: 'get',
        //通过请求头设置token身份认证
        //headers就是请求头配置对象
        // headers: {
        //     Authorization: localStorage.getItem('token')
        // }
    }).then(({ data: res }) => {
        //成功回调
        // console.log(res)
        //判断 如果请求失败  (没有登录访问到了该页面)
        if (res.status !== 0) {
            // 弹出 请求失败的信息
            return layui.layer.msg(res.message)
        }

        //渲染用户信息和头像
        rendereAvatar(res.data)
    });
}

//2.渲染用户信息和头像
function rendereAvatar(user) {
    //渲染欢迎文本信息-如果有nickname昵称 优先渲染nickname ,
    // 没有nickname 就渲染username用户名
    // ||链接两个值,如果第一个值是false类型,返回第二个值
    // &&链接两个值,如果第一个是false类型,直接返回
    let name = user.username || user.nickname
    document.querySelector('.welcome').innerHTML = '欢迎&nbsp;' + name

    //处理头像- 如果有图片头像渲染图片头像 
    let img = document.querySelectorAll('.layui-nav-img')
    let text = document.querySelectorAll('.avatar-text')
    if (user.user_pic !== null) {
        //显示图片头像        //隐藏文字头像
        img[0].src = user.user_pic
        img[1].src = user.user_pic
        // document.querySelector('.layui-nav-img').src = user.user_pic
        //document.querySelector('.avatar-text').style.display = 'none'
        text[0].style.display = 'none'
        text[1].style.display = 'none'
    } else {
        //如果没有图片头像 就显示文字头像 隐藏文字头像
        //document.querySelector('.avatar-text').style.display = 'none'
        img[0].style.display = 'none'
        img[1].style.display = 'none'
        //渲染name中第一个单词字符 而且大写
        //字符串可以当数组取下标使用 
        let first = name[0].toUpperCase()
        text[0].innerHTML = first
        text[1].innerHTML = first
    }

}
